<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2018/12/23 0023
  Time: 18:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
    request.setCharacterEncoding("utf-8");
%>
<html>
<head>
    <title>XMLHttpRequest对象初始化/方法/属性</title>
</head>
<body>

    <script>
        /*初始化XMLHTTPRequest对象*/
        var xhp;

        var test=function(){
            if(window.XMLHttpRequest){
                xhp=new XMLHttpRequest();
                console.log("XMLHttpRequest创建成功")
            }else if(window.ActiveXObject){
                try{
                    xhp=new ActiveXObject("Msxml2.XMLHTTP");
                    console.log("Msxml2.XMLHTTP创建成功")
                }catch(e){
                    try{
                        xhp=new ActiveXObject("Microsoft.XMLHTTP");
                        console.log("Microsoft.XMLHTTP创建成功")
                    }catch(e){
                        alert("不可能出错了!")
                    }
                }
            }
        }
        test();

        /*XMLHttpRequest常用方法*/

        // 设置异步请求目标的url
        xhp.open("GET","index.jsp",false);
        //设置HTTP请求头的设置值
        xhp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        //终止当前的异步请求
        xhp.abort();

        // 向服务器放松不带任何参数的请求
        xhp.send(null);

        //以字符串形式获取指定HTTP头信息
        var str1=xhp.getResponseHeader("Content-Type");
        console.log("以字符串形式获取指定HTTP头信息"+str1);

        //获取String类型的完整http头信息
        var str2=xhp.getAllResponseHeaders();
        console.log("获取String类型的完整http头信息"+str2);


        /*XMLHttpRequest常用属性*/


        //状态改变所触发的事件处理器
        var change=function(){
            console.log("触发函数");
        }
        xhp.onreadystatechange=change;

        //获取请求的状态
        var state=xhp.readyState;
        console.log("获取请求的状态"+state);

        //获取服务器表示为字符串的响应
        var responses=xhp.responseText;
        console.log("获取服务器的响应"+responses);

        //获取服务器表示为xml的响应
        var xmls=xhp.responseXML;
        console.log("获取服务器表示为xml的响应"+xmls);

        //获取服务器的http状态码
        console.log("获取服务器的http状态码"+xhp.status);

        //获取状态码对应的文本
    console.log("获取状态码对应的文本"+xhp.statusText);


    </script>



</body>
</html>
